using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("MassDisenchant")]
	public class MassDisenchant : MonoBehaviour
	{
		public GameObject m_root => method_3<GameObject>("m_root");

		public GameObject m_disenchantContainer => method_3<GameObject>("m_disenchantContainer");

		public MassDisenchantFX m_FX => method_3<MassDisenchantFX>("m_FX");

		public MassDisenchantSound m_sound => method_3<MassDisenchantSound>("m_sound");

		public UberText m_headlineText => method_3<UberText>("m_headlineText");

		public UberText m_detailsHeadlineText => method_3<UberText>("m_detailsHeadlineText");

		public UberText m_detailsText => method_3<UberText>("m_detailsText");

		public UberText m_totalAmountText => method_3<UberText>("m_totalAmountText");

		public NormalButton m_disenchantButton => method_3<NormalButton>("m_disenchantButton");

		public UberText m_singleSubHeadlineText => method_3<UberText>("m_singleSubHeadlineText");

		public UberText m_doubleSubHeadlineText => method_3<UberText>("m_doubleSubHeadlineText");

		public GameObject m_singleRoot => method_3<GameObject>("m_singleRoot");

		public GameObject m_doubleRoot => method_3<GameObject>("m_doubleRoot");

		public List<DisenchantBar> m_singleDisenchantBars => method_3<Class271<DisenchantBar>>("m_singleDisenchantBars")?.method_25();

		public List<DisenchantBar> m_doubleDisenchantBars => method_3<Class271<DisenchantBar>>("m_doubleDisenchantBars")?.method_25();

		public UIBButton m_infoButton => method_3<UIBButton>("m_infoButton");

		public Material m_rarityBarNormalMaterial => method_3<Material>("m_rarityBarNormalMaterial");

		public Material m_rarityBarGoldMaterial => method_3<Material>("m_rarityBarGoldMaterial");

		public Mesh m_rarityBarNormalMesh => method_3<Mesh>("m_rarityBarNormalMesh");

		public Mesh m_rarityBarGoldMesh => method_3<Mesh>("m_rarityBarGoldMesh");

		public bool m_useSingle => method_2<bool>("m_useSingle");

		public int m_totalAmount => method_2<int>("m_totalAmount");

		public int m_totalCardsToDisenchant => method_2<int>("m_totalCardsToDisenchant");

		public Vector3 m_origTotalScale => method_2<Vector3>("m_origTotalScale");

		public Vector3 m_origDustScale => method_2<Vector3>("m_origDustScale");

		public int m_highestGlowBalls => method_2<int>("m_highestGlowBalls");

		public List<GameObject> m_cleanupObjects => method_3<Class271<GameObject>>("m_cleanupObjects")?.method_25();

		public long m_preMassDisenchantDustValue => method_2<long>("m_preMassDisenchantDustValue");

		public static MassDisenchant s_Instance => MonoClass.smethod_7<MassDisenchant>(TritonHs.MainAssemblyPath, "", "MassDisenchant", "s_Instance");

		public MassDisenchant(IntPtr address, string className)
			: base(address, className)
		{
		}

		public MassDisenchant(IntPtr address)
			: this(address, "MassDisenchant")
		{
		}

		public static MassDisenchant Get()
		{
			return MonoClass.smethod_15<MassDisenchant>(TritonHs.MainAssemblyPath, "", "MassDisenchant", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public int GetTotalAmount()
		{
			return method_11<int>("GetTotalAmount", Array.Empty<object>());
		}

		public void OnMassDisenchant(int amount)
		{
			method_8("OnMassDisenchant", amount);
		}

		public void BlockCurrencyFrame(bool block)
		{
			method_8("BlockCurrencyFrame", block);
		}

		public void BlockUI(bool block)
		{
			method_8("BlockUI", block);
		}

		public void OnDisenchantButtonOver(UIEvent e)
		{
			method_8("OnDisenchantButtonOver", e);
		}

		public void OnDisenchantButtonOut(UIEvent e)
		{
			method_8("OnDisenchantButtonOut", e);
		}

		public void OnDisenchantButtonPressed(UIEvent e)
		{
			method_8("OnDisenchantButtonPressed", e);
		}

		public void OnInfoButtonPressed(UIEvent e)
		{
			method_8("OnInfoButtonPressed", e);
		}

		public void UncolorTotal(float newVal)
		{
			method_8("UncolorTotal", newVal);
		}

		public void SetDustBalance(float bal)
		{
			method_8("SetDustBalance", bal);
		}

		public float DrainBarAndDust(DisenchantBar bar, int drainRun, float duration, float rate)
		{
			return method_11<float>("DrainBarAndDust", new object[4] { bar, drainRun, duration, rate });
		}

		public Vector3 GetRanBoxPt(GameObject box)
		{
			return method_11<Vector3>("GetRanBoxPt", new object[1] { box });
		}

		public RarityFX GetRarityFX(DisenchantBar bar)
		{
			return method_11<RarityFX>("GetRarityFX", new object[1] { bar });
		}

		public RaritySound GetRaritySound(DisenchantBar bar)
		{
			return method_14<RaritySound>("GetRaritySound", new object[1] { bar });
		}
	}
}
